<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<title>5.0 Test Items</title>

<style type="text/css">
</style>

</head>

<body>
The
examples
below are a starting point of cases to check. The list IS NOT complete.
Try to come up with your own corner cases as well. A good overview what
to test is the J2SE 5.0 status <br>
<h4>Refactoring<br>
</h4>
<ul>
  <li>Rename<br>
  </li>
  <ul>
    <li>annotations, annotation members (especially the special case
value), enum, enum member, type parameters, vararg parameters</li>
    <li>with varargs, type parameters, generic &amp; parameterized
types in the signature (field, method, local)</li>
  </ul>
  <li>Move CU/Type</li>
  <ul>
    <li>annotations, enum, generic &amp; parameterized types<br>
    </li>
  </ul>
  <li>Move (method &amp; static members)</li>
  <ul>
    <li>enums and annotations as members in types</li>
  </ul>
  <ul>
    <li>signature with type parameters, varargs, parameterized types</li>
    <li>methods in generic &amp; parameterized types</li>
    <li>methods that refer to a static import or type parameters from
class<br>
    </li>
  </ul>
  <li>Change method signature</li>
  <ul>
    <li>signature with type parameters, varargs, parameterized types</li>
    <li>methods in annotations, enums, generic &amp; parameterized types</li>
  </ul>
  <li>Convert Anonymous to nested</li>
  <ul>
    <li>annotations, enum, generic &amp; parameterized types</li>
  </ul>
  <li>Move member type to new file</li>
  <ul>
    <li>annotations, enum, generic &amp; parameterized types</li>
    <li>code that refers to static imports</li>
    <li>code that refers to type parameters</li>
  </ul>
  <li>Pull Up &amp; PushDown</li>
  <ul>
    <li>methods in generic &amp; parameterized types</li>
    <li>methods that refer to a static import</li>
    <li>methods with type parameters, varargs, parameterized types</li>
    <li>between generic, normal and parameterized types</li>
    <li>enums and annotations as members in types</li>
  </ul>
  <li>Extract Interface / Use Supertype where possible</li>
  <ul>
    <li>enum and annotations<br>
    </li>
  </ul>
  <ul>
    <li>generic and parameterized types</li>
    <li>method with varargs, type parameters, parameterized types<br>
    </li>
  </ul>
  <li>Generalize Type</li>
  <ul>
    <li>enums and annotations</li>
    <li>generic and parameterized types</li>
  </ul>
  <li>Extract/Inline Method</li>
  <ul>
    <li>Code in generic &amp; parameterized types and enums<br>
    </li>
    <li>Code that refer to type parameters (from class and method)</li>
    <li>vararg usages</li>
    <li>code with references to static imports</li>
    <li>code with autoboxing</li>
  </ul>
  <li>Extract/Inline local</li>
  <ul>
    <li>expression which resolve to parameterized types, annotations,
enums&nbsp; and type parameters (or the concrete type for parameterized
types)</li>
  </ul>
  <li>Extract/Inline constant</li>
  <ul>
    <li>in enums, annotations, generic and parameterized types</li>
  </ul>
  <li>Introduce parameter</li>
  <ul>
    <li>expression which resolve to parameterized types, annotations,
enums&nbsp; and type parameters (or the concrete type for parameterized
types)<br>
    </li>
    <li>signature to be changed contains varargs, type parameters,
parameterized types</li>
  </ul>
  <li>Introduce Factory</li>
  <ul>
    <li>for generic and parameterized types</li>
    <li>destination type is generic or parameterized</li>
  </ul>
  <li>Convert local variable to field</li>
  <ul>
    <li>declaring type is parameterized types, annotations, enums&nbsp;
and type parameters (or the concrete type for parameterized types)</li>
  </ul>
  <li>Self encapsulate field</li>
  <ul>
    <li>field type is parameterized types, annotations, enums&nbsp; and
type parameter</li>
    <li>in enums, parameterized types and generic types.</li>
  </ul>
  <li>Infer type arguments <br>
  </li>
  <ul>
    <li>test for collection classes</li>
    <li>test for own generic classes</li>
    <li>test for classes with n type parameters<br>
    </li>
  </ul>
</ul>
<h4>Source Actions<br>
</h4>
<div style="margin-left: 40px;">Don't forget to check the Javadoc for
the generated methods<br>
</div>
<ul>
  <li>Organize import / add import</li>
  <ul>
    <li>organize import. Define static import groups in the preference</li>
    <li>add import on Math.max should add a static import on max add
should remove Math in code.</li>
  </ul>
  <li>Override/Implement methods</li>
  <ul>
    <li>methods with type parameters, varargs, parameterized types</li>
    <li>from generic and parameterized types</li>
    <li>from annotations</li>
  </ul>
  <li>Generate Getter/Setter</li>
  <ul>
    <li>field type is parameterized types, annotations, enums&nbsp;
and type parameters</li>
    <li>in enums, parameterized types and generic types</li>
  </ul>
  <li>Generate Delegate Methods</li>
  <ul>
    <li>field type is enum, annotation</li>
    <li>field type is type parameter or parametrized type</li>
  </ul>
  <li>Generate Constructor Using fields</li>
  <ul>
    <li>field type is enum, annotation</li>
    <li>field type is type parameter or parametrized type</li>
  </ul>
  <li>Add Constructor from Superclass</li>
  <ul>
    <li>super class is generic or parameterized type</li>
    <li>constructor with type parameters, varargs, parameterized types</li>
  </ul>
  <li>Sort members</li>
  <ul>
    <li>members with type parameters, varargs, ...</li>
    <li>types with enums, annotations, generic and parameterized types
as members<br>
    </li>
    <li>sort enum, annotations, generic and parameterized types<br>
    </li>
  </ul>
</ul>
<h4>Search</h4>
<ul>
  <li>test searching for enums, annotations, generic types and methods,
parameterized types and methods and type variables</li>
  <li>test new filters for incompatible and inexact matches</li>
</ul>
<h4>Quick Fix &amp; Quick assist<br>
</h4>
<ul>
  <ul>
  </ul>
  <li>Test convert to enhanced for loop (currently only available for
arrays)<br>
  </li>
  <li>Javadoc tags for type parameters (handled special. creates
&lt;T&gt;)</li>
  <li> quick fix helps you changing the compliance settings when you
try
to enter 5.0 constructs in a 1.4 project. Note that a 1.5 JRE is
required which has to be added in the 'Installed JRE's' preference page</li>
</ul>
<h4>Java Editor<br>
</h4>
<ul>
  <li>new syntax colorings</li>
  <ul>
    <li>auto(un)boxed expressions</li>
    <li>new keywords (enum, @interface)<br>
    </li>
    <li>annotations</li>
    <li>annotation element references</li>
    <li>parameter variables<br>
    </li>
  </ul>

  <li>code assist</li>
  <ul>
    <li>enums</li>
    <li>static imports<br>
    </li>
    <li>generics
			</li>
  </ul>
  <ul>
    <li>type parameter proposals</li>
  </ul>
  <ul>
    <li>enum constant proposals</li>
    <li>annotations<br>
    </li>
  </ul>
  <ul>
    <li>argument guessing for parameterized types</li>
  </ul>
  <li>verify that the Java Outline displays new J2SE 5.0 constructs correctly</li>
  <li>verify that occurrence marking handles new J2SE 5.0 elements
correctly (check bugzilla first: there are already some bug reports)</li>
  <li>verify that folding works correctly for J2SE 5.0 elements</li>
  <li>test new 'foreach' template</li>
  <li>hovers for new J2SE 5.0 constructs (e.g. hovering over parametrized types)</li>
  <li>format CUs with J2SE 5.0 constructs and verify that they get correctly formatted according to the current formatter settings<br>
  </li>

</body>
</html>
